package com.watson.spring.all.security.base.tool;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

//统一返回结果的类
@Data
public class Rdad {

    private Boolean success;

    private Integer code;

    private String message;

    private Map<String, Object> data = new HashMap<String, Object>();

    //把构造方法私有
    private Rdad() {
    }

    //成功静态方法
    public static Rdad ok() {
        Rdad rdad = new Rdad();
        rdad.setSuccess(true);
        rdad.setCode(20000);
        rdad.setMessage("成功");
        return rdad;
    }

    //失败静态方法
    public static Rdad error() {
        Rdad rdad = new Rdad();
        rdad.setSuccess(false);
        rdad.setCode(20001);
        rdad.setMessage("失败");
        return rdad;
    }

    public Rdad success(Boolean success) {
        this.setSuccess(success);
        return this;
    }

    public Rdad message(String message) {
        this.setMessage(message);
        return this;
    }

    public Rdad code(Integer code) {
        this.setCode(code);
        return this;
    }

    public Rdad data(String key, Object value) {
        this.data.put(key, value);
        return this;
    }

    public Rdad data(Map<String, Object> map) {
        this.setData(map);
        return this;
    }
}
